package com.dycx.user.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.dycx.common.constants.RegexpConstants;
import com.dycx.common.dto.FileDTO;
import com.dycx.common.dto.PageDTO;
import com.github.dozermapper.core.Mapping;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.util.List;

/**
 * 商家
 *
 * @author wzb
 * @description car_type
 * @date 2021-03-28
 */

@EqualsAndHashCode(callSuper = true)
@Data
public class SellerDTO extends PageDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    private Integer id;
    private Integer uid;

    /**
     * 行业
     */
    private Integer industryType;

    //    @NotBlank(message = "公司名称不能为空")
    private String companyName;

    //    @NotBlank(message = "统一社会信用代码不能为空")
    private String companyCode;

    private String companyPhone;

    /**
     * 图片
     */
//    @NotNull(message = "请上传营业执照")
    private List<FileDTO> companyBusinessLicense;

    //    @NotNull(message = "开户行不能为空")
    private String companyBankName;

    //    @NotNull(message = "银行账号不能为空")
    private String companyBankNo;

    //    @NotNull(message = "法人姓名不能为空")
    private String companyLegalPerson;

    //    @NotNull(message = "法人身份证号不能为空")
    private String companyLegalPersonIdCard;

    //    @NotNull(message = "法人手机号不能为空")
    private String companyLegalPersonMobile;

    //    @NotBlank(message = "联系人不能为空")
    private String contactName;

    //    @NotBlank(message = "联系人身份证号不能为空")
//    @Length(min = 18, max = 18, message = "联系人身份证号长度不正确")
//    @Pattern(regexp = RegexpConstants.ID_CARD, message = "联系人身份证号格式不正确")
    private String contactIdCard;

    //    @NotBlank(message = "联系人手机号不能为空")
//    @Pattern(regexp = RegexpConstants.MOBILE, message = "手机号格式不正确")
    private String contactMobile;

    /**
     * 审核状态 0-审核中、1-通过、2-未通过审核
     */
    private Integer checkStatus;

    /**
     * 店铺名称
     */
    private String shopName;

    /**
     * 商家头像
     */
    private String avatar;

    /**
     * 商家图片
     */
    private List<FileDTO> banner;

    /**
     * 简介
     */
    private String summary;

    /**
     * 浏览量
     */
    private Integer hits;

    /**
     * 省
     */
    private Integer provinceCode;


    private String provinceName;

    /**
     * 市
     */
    private Integer cityCode;


    private String cityName;

    /**
     * 县
     */
    private Integer districtCode;


    private String districtName;

    /**
     * 镇
     */
    private Integer streetCode;


    private String streetName;

    /**
     * 商圈地址
     */
    private String businessName;

    /**
     * 详细地址
     */
    private String address;

    /**
     * 经度
     */
    private String lng;

    /**
     * 纬度
     */
    private String lat;

    /**
     * 排序
     */
    private Integer sort;

    private String checkRemark;
}
